import { type ComponentPropsWithoutRef, type FC, useId } from 'react'

type Props = ComponentPropsWithoutRef<'svg'>

export const JackInBox: FC<Props> = (props) => {
  const maskId = useId()
  const filterId = useId()
  return (
    <svg
      role="img"
      aria-label="Jack in Box"
      width={201}
      height={101}
      viewBox="0 0 201 101"
      fill="none"
      {...props}
    >
      <path d="M132.84 38.1109L136.39 36.3709L126 28.501" fill="#141616" />
      <path
        d="M132.84 38.1109L136.39 36.3709L126 28.501"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M76.6802 34.1406L68.9902 39.2206L94.2502 55.1606"
        fill="#141616"
      />
      <path
        d="M76.6802 34.1406L68.9902 39.2206L94.2502 55.1606"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M95.9602 56.7707L68.9902 39.2207V74.9207L95.6802 93.6607L95.9602 56.7707Z"
        fill="#141616"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M94.2502 55.1607L68.9902 39.2207"
        stroke="#141616"
        strokeMiterlimit={10}
        strokeLinecap="round"
      />
      <path
        d="M95.6797 93.6611L95.9597 56.7711L136.39 36.3711V69.3811L95.6797 93.6611Z"
        fill="#141616"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M96 56.0007L68.99 39.2207L60.5 50.9307L87.17 68.7907L95.68 56.5507"
        fill="#141616"
      />
      <path
        d="M96 56.0007L68.99 39.2207L60.5 50.9307L87.17 68.7907L95.68 56.5507"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M136.39 36.3711L136.78 43.4411L140.1 44.6511L136.39 36.3711Z"
        fill="#141616"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <mask id={maskId} fill="#fff">
        <path d="M111.35 7.5709C115.17 6.7609 116.74 13.1109 117.23 15.4009C117.3 15.7209 117.51 15.9809 117.8 16.1509C122.58 18.9709 127.43 31.6909 130.54 34.3709C133.65 37.0509 135.06 45.9309 130.54 47.0609C126.02 48.1909 124.3 43.001 124.3 43.001L106.5 52.001C106.5 52.001 108.816 56.9149 103 58.501C97.1844 60.087 94.2403 55.1609 94.2403 55.1609L75.5703 43.3809C75.5703 43.3809 76.3803 33.8209 77.3903 31.1809C77.4903 30.9209 77.5103 30.6609 77.4703 30.3809C77.1903 28.5709 76.4203 21.7509 79.9803 19.5209C84.1103 16.9409 89.6703 22.0209 91.0603 21.7409C92.4503 21.4609 96.1503 16.5509 105.34 15.4009C105.92 15.3309 106.37 14.8809 106.43 14.3009C106.71 11.2309 107.57 8.3709 111.32 7.5709" />
      </mask>
      <path
        d="M111.35 7.5709C115.17 6.7609 116.74 13.1109 117.23 15.4009C117.3 15.7209 117.51 15.9809 117.8 16.1509C122.58 18.9709 127.43 31.6909 130.54 34.3709C133.65 37.0509 135.06 45.9309 130.54 47.0609C126.02 48.1909 124.3 43.001 124.3 43.001L106.5 52.001C106.5 52.001 108.816 56.9149 103 58.501C97.1844 60.087 94.2403 55.1609 94.2403 55.1609L75.5703 43.3809C75.5703 43.3809 76.3803 33.8209 77.3903 31.1809C77.4903 30.9209 77.5103 30.6609 77.4703 30.3809C77.1903 28.5709 76.4203 21.7509 79.9803 19.5209C84.1103 16.9409 89.6703 22.0209 91.0603 21.7409C92.4503 21.4609 96.1503 16.5509 105.34 15.4009C105.92 15.3309 106.37 14.8809 106.43 14.3009C106.71 11.2309 107.57 8.3709 111.32 7.5709"
        fill="#141616"
        filter={`url(#${filterId})`}
      />
      <path
        d="M117.23 15.4009L116.252 15.6101L116.253 15.6146L117.23 15.4009ZM117.8 16.1509L118.308 15.2896L118.306 15.2882L117.8 16.1509ZM124.3 43.001L125.249 42.6863C125.158 42.4101 124.95 42.1875 124.681 42.0766C124.412 41.9656 124.108 41.9773 123.849 42.1086L124.3 43.001ZM106.5 52.001L106.049 51.1086L105.181 51.5474L105.595 52.4272L106.5 52.001ZM94.2403 55.1609L95.0987 54.6479L94.9761 54.4427L94.7739 54.3152L94.2403 55.1609ZM75.5703 43.3809L74.5739 43.2965L74.5226 43.9022L75.0367 44.2266L75.5703 43.3809ZM77.3903 31.1809L76.457 30.8219L76.4563 30.8236L77.3903 31.1809ZM77.4703 30.3809L78.4603 30.2395L78.4586 30.228L77.4703 30.3809ZM79.9803 19.5209L79.4505 18.6728L79.4495 18.6734L79.9803 19.5209ZM105.34 15.4009L105.22 14.4081L105.216 14.4086L105.34 15.4009ZM106.43 14.3009L107.425 14.4038L107.426 14.3917L106.43 14.3009ZM111.558 8.54915C112.197 8.4136 112.722 8.56479 113.213 8.93161C113.737 9.32318 114.222 9.96697 114.654 10.7885C115.517 12.4306 116.009 14.474 116.252 15.6101L118.208 15.1917C117.961 14.0378 117.424 11.7612 116.424 9.8583C115.925 8.90734 115.27 7.97238 114.41 7.32957C113.517 6.66202 112.414 6.3232 111.143 6.59265L111.558 8.54915ZM116.253 15.6146C116.392 16.2479 116.802 16.725 117.295 17.0136L118.306 15.2882C118.262 15.2621 118.237 15.2371 118.224 15.2209C118.213 15.2061 118.209 15.1957 118.207 15.1872L116.253 15.6146ZM117.292 17.0122C118.302 17.6077 119.402 18.7897 120.559 20.3953C121.701 21.9801 122.831 23.8788 123.927 25.8076C125.012 27.715 126.078 29.6787 127.052 31.3039C128.009 32.9019 128.97 34.338 129.888 35.1284L131.193 33.6134C130.555 33.0638 129.744 31.9049 128.768 30.276C127.808 28.6743 126.78 26.7793 125.666 24.8192C124.564 22.8805 123.39 20.903 122.181 19.2259C120.988 17.5697 119.689 16.1041 118.308 15.2896L117.292 17.0122ZM129.888 35.1284C130.503 35.6588 131.097 36.5601 131.562 37.7021C132.021 38.8315 132.323 40.123 132.404 41.3624C132.485 42.6118 132.338 43.7369 131.969 44.5754C131.613 45.3855 131.07 45.8978 130.298 46.0908L130.783 48.031C132.271 47.659 133.247 46.6375 133.8 45.3811C134.34 44.153 134.494 42.6788 134.399 41.2319C134.304 39.7751 133.953 38.2735 133.414 36.9488C132.881 35.6367 132.133 34.423 131.193 33.6134L129.888 35.1284ZM130.298 46.0908C128.521 46.5349 127.321 45.7764 126.483 44.8024C126.056 44.3064 125.743 43.7703 125.536 43.3509C125.433 43.1432 125.359 42.9693 125.311 42.8505C125.288 42.7912 125.271 42.746 125.26 42.7177C125.255 42.7035 125.252 42.6936 125.25 42.6882C125.249 42.6856 125.248 42.684 125.248 42.6837C125.248 42.6835 125.248 42.6837 125.248 42.6841C125.249 42.6843 125.249 42.6846 125.249 42.685C125.249 42.6852 125.249 42.6855 125.249 42.6856C125.249 42.686 125.249 42.6863 124.3 43.001C123.351 43.3156 123.351 43.316 123.351 43.3165C123.351 43.3166 123.351 43.3171 123.351 43.3174C123.352 43.3181 123.352 43.3189 123.352 43.3197C123.353 43.3214 123.353 43.3234 123.354 43.3258C123.356 43.3304 123.358 43.3363 123.36 43.3434C123.365 43.3577 123.372 43.3767 123.38 43.4003C123.398 43.4474 123.422 43.5127 123.454 43.5931C123.518 43.7537 123.614 43.9764 123.743 44.2376C123.999 44.7559 124.399 45.4467 124.967 46.107C126.119 47.4454 128.039 48.7169 130.783 48.031L130.298 46.0908ZM123.849 42.1086L106.049 51.1086L106.951 52.8934L124.751 43.8934L123.849 42.1086ZM106.5 52.001C105.595 52.4272 105.595 52.4268 105.595 52.4263C105.595 52.4262 105.595 52.4258 105.595 52.4255C105.594 52.425 105.594 52.4246 105.594 52.4242C105.594 52.4235 105.593 52.4231 105.593 52.4229C105.593 52.4226 105.594 52.4234 105.594 52.4253C105.596 52.4291 105.6 52.4372 105.605 52.4494C105.615 52.4738 105.632 52.5142 105.653 52.5688C105.694 52.6784 105.75 52.8423 105.803 53.0452C105.91 53.4576 105.994 53.9957 105.936 54.553C105.88 55.0986 105.689 55.6551 105.249 56.1562C104.806 56.6607 104.048 57.1787 102.737 57.5362L103.263 59.4657C104.86 59.0302 105.993 58.3392 106.752 57.4763C107.513 56.6099 107.834 55.6406 107.926 54.7594C108.016 53.89 107.884 53.1004 107.739 52.5419C107.665 52.2594 107.586 52.027 107.524 51.8617C107.492 51.7788 107.465 51.7121 107.444 51.6637C107.434 51.6395 107.425 51.6198 107.418 51.6049C107.415 51.5975 107.412 51.5912 107.41 51.5861C107.409 51.5836 107.408 51.5814 107.407 51.5795C107.406 51.5785 107.406 51.5777 107.406 51.5769C107.405 51.5765 107.405 51.5759 107.405 51.5757C107.405 51.5752 107.405 51.5747 106.5 52.001ZM102.737 57.5362C100.172 58.2356 98.2863 57.5059 97.0162 56.6089C96.3711 56.1532 95.883 55.6511 95.5571 55.2629C95.3949 55.0697 95.2751 54.9073 95.1982 54.7971C95.1598 54.7421 95.1322 54.7003 95.1156 54.6745C95.1073 54.6615 95.1017 54.6527 95.0989 54.6481C95.0975 54.6458 95.0967 54.6446 95.0967 54.6446C95.0967 54.6446 95.0969 54.6448 95.0972 54.6454C95.0974 54.6457 95.0976 54.646 95.0978 54.6464C95.0979 54.6466 95.0982 54.647 95.0982 54.6471C95.0985 54.6475 95.0987 54.6479 94.2403 55.1609C93.3819 55.6739 93.3822 55.6744 93.3825 55.6748C93.3826 55.675 93.3829 55.6755 93.3831 55.6758C93.3835 55.6766 93.384 55.6773 93.3845 55.6782C93.3856 55.68 93.3868 55.682 93.3882 55.6843C93.3911 55.689 93.3947 55.6949 93.399 55.7019C93.4077 55.7159 93.4193 55.7344 93.434 55.7572C93.4634 55.8028 93.5047 55.8653 93.5582 55.9418C93.665 56.0948 93.8206 56.3049 94.0253 56.5488C94.4331 57.0346 95.0446 57.6649 95.8624 58.2425C97.5183 59.4121 100.012 60.3524 103.263 59.4657L102.737 57.5362ZM94.7739 54.3152L76.1039 42.5352L75.0367 44.2266L93.7067 56.0066L94.7739 54.3152ZM75.5703 43.3809C76.5667 43.4653 76.5667 43.4653 76.5667 43.4653C76.5667 43.4652 76.5668 43.4652 76.5668 43.4651C76.5668 43.4648 76.5668 43.4644 76.5669 43.4639C76.567 43.4629 76.5671 43.4612 76.5673 43.459C76.5677 43.4546 76.5682 43.448 76.569 43.4391C76.5705 43.4214 76.5728 43.3949 76.5759 43.36C76.582 43.2903 76.5911 43.1873 76.603 43.0551C76.627 42.7906 76.6623 42.4093 76.7079 41.9433C76.7991 41.0107 76.9311 39.7412 77.0943 38.3909C77.2577 37.039 77.4514 35.6148 77.6654 34.3704C77.8835 33.1021 78.1105 32.0971 78.3243 31.5382L76.4563 30.8236C76.1651 31.5847 75.9121 32.7647 75.6943 34.0314C75.4724 35.3221 75.2741 36.7829 75.1088 38.1509C74.9432 39.5206 74.8096 40.8061 74.7174 41.7485C74.6713 42.22 74.6355 42.6062 74.6112 42.8748C74.599 43.0092 74.5897 43.1142 74.5835 43.1858C74.5803 43.2216 74.578 43.2491 74.5763 43.2677C74.5755 43.277 74.5749 43.2841 74.5745 43.2889C74.5743 43.2913 74.5742 43.2932 74.5741 43.2944C74.574 43.2951 74.574 43.2955 74.5739 43.2959C74.5739 43.2961 74.5739 43.2962 74.5739 43.2963C74.5739 43.2964 74.5739 43.2965 75.5703 43.3809ZM78.3237 31.5399C78.4938 31.0976 78.5206 30.6621 78.4603 30.2395L76.4804 30.5223C76.5 30.6597 76.4869 30.7442 76.457 30.8219L78.3237 31.5399ZM78.4586 30.228C78.3239 29.3574 78.075 27.2949 78.2805 25.2063C78.4921 23.0562 79.1502 21.2209 80.5112 20.3684L79.4495 18.6734C77.2504 20.0509 76.5135 22.7407 76.2901 25.0105C76.0607 27.3419 76.3368 29.5944 76.4821 30.5338L78.4586 30.228ZM80.5101 20.369C82.1141 19.367 84.0988 19.786 86.1461 20.6842C87.1519 21.1254 88.0479 21.6233 88.8708 22.041C89.2653 22.2413 89.658 22.4303 90.0114 22.5594C90.3212 22.6725 90.7904 22.8154 91.2578 22.7212L90.8628 20.7606C90.9827 20.7364 90.9741 20.7818 90.6976 20.6808C90.4648 20.5957 90.1628 20.454 89.7761 20.2576C89.0365 19.8822 88.0237 19.3239 86.9496 18.8527C84.8368 17.9258 81.9766 17.0948 79.4505 18.6728L80.5101 20.369ZM91.2578 22.7212C91.6286 22.6465 91.9726 22.4475 92.2396 22.2746C92.5269 22.0885 92.8498 21.8473 93.188 21.5921C93.8795 21.0702 94.7251 20.421 95.8057 19.7449C97.9527 18.4015 101.038 16.947 105.464 16.3932L105.216 14.4086C100.452 15.0048 97.0929 16.5803 94.7449 18.0494C93.578 18.7795 92.6636 19.4822 91.9832 19.9957C91.6355 20.2581 91.3695 20.4554 91.1525 20.5959C90.9152 20.7496 90.8395 20.7653 90.8628 20.7606L91.2578 22.7212ZM105.46 16.3937C106.495 16.2688 107.316 15.4573 107.425 14.4038L105.436 14.198C105.425 14.3046 105.346 14.393 105.22 14.4081L105.46 16.3937ZM107.426 14.3917C107.563 12.8968 107.832 11.5993 108.432 10.5989C109.001 9.65008 109.911 8.89401 111.529 8.5489L111.112 6.59291C108.979 7.04779 107.585 8.12173 106.716 9.57042C105.879 10.9675 105.578 12.635 105.434 14.2101L107.426 14.3917Z"
        fill="#1DED83"
        mask={`url(#${maskId})`}
      />
      <path
        d="M130 34.501C133.21 37.271 134.3 45.6511 130.54 46.5611C124.36 48.0611 124 38.501 124 38.501"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M101.99 48.4912C101.99 48.4912 111.23 54.5212 103.41 57.6012C97.99 59.7312 94 54.5012 94 54.5012"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M115.6 28.8008C116.17 28.8008 117.31 29.7408 117.66 30.9808C118 32.1908 117.25 32.6508 117 32.8008C116.76 32.9508 116.54 33.0208 116.35 33.0208C115.76 33.0208 115.28 32.2208 115.06 31.4308C114.75 30.3008 114.93 29.1308 115.46 28.8208C115.49 28.8008 115.53 28.7908 115.6 28.7908M115.6 27.8008C115.37 27.8008 115.15 27.8508 114.95 27.9708C113 29.1208 113.96 34.0308 116.34 34.0308C116.7 34.0308 117.09 33.9208 117.51 33.6608C120.38 31.9208 117.6 27.8008 115.59 27.8008H115.6Z"
        fill="#1DED83"
      />
      <path
        d="M101.96 33.5508C102.74 33.5508 103.53 34.7208 103.63 36.0008C103.69 36.7508 103.55 38.0508 101.99 38.2808C101.86 38.3008 101.73 38.3108 101.62 38.3108C101.31 38.3108 100.49 38.3108 100.37 36.8708C100.24 35.3408 101.09 33.6808 101.82 33.5608C101.87 33.5608 101.92 33.5508 101.97 33.5508M101.96 32.5508C101.86 32.5508 101.76 32.5508 101.65 32.5808C99.2204 32.9808 98.0304 39.3108 101.61 39.3108C101.77 39.3108 101.95 39.3008 102.13 39.2708C106.19 38.6608 104.7 32.5508 101.96 32.5508Z"
        fill="#1DED83"
      />
      <path
        d="M37.1299 22.0898H38.8099"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M44.6201 22.0898H46.3001"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M41.7197 17.5V19.18"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M41.7197 24.9902V26.6702"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M30.2402 47.29V52.76"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M32.97 50.02H27.5"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M156.5 76.2202H159.57"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M166.87 76.2202H169.93"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M163.22 69.5V72.57"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M163.22 79.8701V82.9301"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M180.27 32.0996H181.95"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M187.75 32.0996H189.44"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M184.85 27.5098V29.1998"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M184.85 35V36.68"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M147.23 13.5V18.97"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <path
        d="M149.97 16.2402H144.5"
        stroke="#1DED83"
        strokeLinecap="round"
        strokeLinejoin="round"
      />
      <defs>
        <filter
          id={filterId}
          x="75.5703"
          y="7.5"
          width="57.8555"
          height="51.3154"
          filterUnits="userSpaceOnUse"
          colorInterpolationFilters="sRGB"
        >
          <feFlood floodOpacity={0} result="BackgroundImageFix" />
          <feBlend
            mode="normal"
            in="SourceGraphic"
            in2="BackgroundImageFix"
            result="shape"
          />
          <feColorMatrix
            in="SourceAlpha"
            type="matrix"
            values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
            result="hardAlpha"
          />
          <feOffset />
          <feGaussianBlur stdDeviation="14.5" />
          <feComposite in2="hardAlpha" operator="arithmetic" k2={-1} k3={1} />
          <feColorMatrix
            type="matrix"
            values="0 0 0 0 0.113725 0 0 0 0 0.929412 0 0 0 0 0.513726 0 0 0 0.5 0"
          />
          <feBlend
            mode="normal"
            in2="shape"
            result="effect1_innerShadow_457_10543"
          />
        </filter>
      </defs>
    </svg>
  )
}
